package top.healthylife.gateway.platform.eye.dto.zhishichanquan.EyeReqIprPatentsDto.req;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import top.healthylife.gateway.dto.annotation.ApiField;
import top.healthylife.gateway.dto.processor.GroupOneMustBeFilledInProcessor;
import top.healthylife.gateway.dto.request.req.ApiReqDto;

import javax.validation.constraints.NotNull;

/**
* @author: GenUtil
* @date: 2020-12-14 22:17:55
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("企业专利信息[837]")
public class EyeReqIprPatentsDto extends ApiReqDto {

    @ApiField("发布开始时间")
    @JsonProperty("pubDateBegin")
    @ApiModelProperty(name = "发布开始时间", example = "2010-01-01")
    private String pubDateBegin;

    @ApiField("申请开始时间")
    @JsonProperty("appDateBegin")
    @ApiModelProperty(name = "申请开始时间", example = "2010-01-01")
    private String appDateBegin;

    @ApiField("每页条数（默认20条，最大20条）")
    @JsonProperty("pageSize")
    @ApiModelProperty(name = "每页条数（默认20条，最大20条）", example = "20")
    private Integer pageSize = 20;

    @ApiField("发布结束时间")
    @JsonProperty("pubDateEnd")
    @ApiModelProperty(name = "发布结束时间", example = "2020-01-01")
    private String pubDateEnd;

    @ApiField("申请结束时间")
    @JsonProperty("appDateEnd")
    @ApiModelProperty(name = "申请结束时间", example = "2020-01-01")
    private String appDateEnd;

    @ApiField(value = "（id、name、统一信用代码，只需输入其中一个）", group = GroupOneMustBeFilledInProcessor.class)
    @NotNull(message = "（id、name、统一信用代码，只需输入其中一个）")
    @JsonProperty("keyword")
    @ApiModelProperty(name = "（id、name、统一信用代码，只需输入其中一个）", example = "北京百度网讯科技有限公司")
    private String keyword;

    @ApiField(value = "公司名", group = GroupOneMustBeFilledInProcessor.class)
    @NotNull(message = "公司名")
    @JsonProperty("name")
    @ApiModelProperty(value = "公司名", example = "北京百度网讯科技有限公司")
    private String name;

    @ApiField(value = "公司id（id与name只需输入其中一个）", group = GroupOneMustBeFilledInProcessor.class)
    @NotNull(message = "公司id（id与name只需输入其中一个）")
    @JsonProperty("id")
    @ApiModelProperty(name = "公司id（id与name只需输入其中一个）", example = "22822")
    private String id;


    @ApiField("当前页数（默认第一页）")
    @JsonProperty("pageNum")
    @ApiModelProperty(name = "当前页数（默认第一页）", example = "1")
    private Integer pageNum = 1;

    @ApiField("专利类型 1-发明专利 2-实用新型 3-外观专利 4-PCT发明 5-PCT实用新型")
    @JsonProperty("patentType")
    @ApiModelProperty(name = "专利类型 1-发明专利 2-实用新型 3-外观专利 4-PCT发明 5-PCT实用新型", example = "1")
    private String patentType;

}
